/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ventasBeans;

import com.system.bajlam.code.beans.*;
 import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.RowEditEvent;
import java.util.ArrayList;  
import java.util.List; 
import javax.persistence.PersistenceContext;
 
@ManagedBean(name = "producto")
@ApplicationScoped
@PersistenceContext
public class productos implements Serializable {
 
    private static final long serialVersionUID = 2L;
     private String codigo;
     private String descripcion;
     private String categoria;
     private String subcategoria;
     private String cantidad;
     private String exmax;
     private String exmin;
     private String pcompra;
     private String pventa;
     private String impuesto;
     private String unidad; 
    beanProductos product;

 public String getExmin() {
        return exmin;
    }
    public void setExmin(String exmin) {
        this.exmin = exmin;
    }
    
 public String getExmax() {
        return exmax;
    }
    public void setExmax(String exmax) {
        this.exmax = exmax;
    }
    
 public String getCantidad() {
        return cantidad;
    }
    public void setCantidad(String cantidad) {
        this.cantidad = cantidad;
    } 
    
 public String getCodigo() {
        return codigo;
    }
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
    
    
     public String getDescripcion() {
        return descripcion;
    }
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
    
    
     public String getCategoria() {
        return categoria;
    }
    public void setCategoria(String categoria) {
        this.categoria = categoria;
    }
    
    
     public String getSubcategoria() {
        return subcategoria;
    }
    public void setSubcategoria(String subcategoria) {
        this.subcategoria = subcategoria;
    }
    
    
    public String getPcompra() {
        return pcompra;
    }
    public void setPcompra(String pcompra) {
        this.pcompra = pcompra;
    }
    
    
    public String getPventa() {
        return pventa;
    }
    public void setPventa(String pventa) {
        this.pventa = pventa;
    }
    
    
    public String getImpuesto() {
        return impuesto;
    }
    public void setImpuesto(String impuesto) {
        this.impuesto = impuesto;
    }
    
    public String getUnidad() {
        return unidad;
    }
    public void setUnidad(String unidad) {
        this.unidad = unidad;
    }
    //-----------------------------------------------------------------------------------------------------------------    
    
    List<String> listcate = new ArrayList<String>();
    private String catg;
   
    
    public String getCatg() {
        return catg;
    }
    public void setCatg(String catg) {
        this.catg = catg;
    }
    
    public String addCategoria(){
     listcate.add(catg);
     catg="";
     return null;
    }

    public List<String> complete(String query) {        
        return listcate;  
    }  
      
       public void deleteCar() {
       // listcate.remove(selectedCar);
      //  selectedCar = null;
    }
    //-----------------------------------------------------------------------------------------------------------------
     List<String> listsubcate = new ArrayList<String>();
    private String sbcate;
    
    public String getSbcate() {
        return sbcate;
    }
    public void setSbcate(String sbcate) {
        this.sbcate = sbcate;
    }
    
    public String addSubcate(){
     listsubcate.add(sbcate);
     sbcate="";
     return null;
    }

    public List<String> completeSub(String query) {        
        return listsubcate;  
    }  
    //-----------------------------------------------------------------------------------------------------------------
     List<String> listimpues = new ArrayList<String>();
    private String impues;
    
    public String getImpues() {
        return impues;
    }
    public void setImpues(String impues) {
        this.impues = impues;
    }
    
    public String addImpuesto(){
     listimpues.add(impues);
     impues="";
     return null;
    }

    public List<String> completeImpues(String query) {        
        return listimpues;  
    }  
    //-----------------------------------------------------------------------------------------------------------------
      List<String> listunidad = new ArrayList<String>();
    private String uni;
    
    public String getUni() {
        return uni;
    }
    public void setUni(String uni) {
        this.uni = uni;
    }
    
    public String addUnidad(){
     listunidad.add(uni);
     uni="";
     return null;
    }

    public List<String> completeUni(String query) {        
        return listunidad;  
    }  
    //-----------------------------------------------------------------------------------------------------------------
             List<String> nombrePro = new ArrayList<String>();
    private String prod;
    
    public String getProd() {
        return prod;
    }
    public void setProd(String prod) {
        this.prod = prod;
    }
    
    public String addProd(){
     nombrePro.add(prod);
     prod="";
     return null;
    }

    public List<String> completeProd(String query) {  
        return nombrePro;  
    }
    //-------------------------------------------------------------------------------------------------------------------
             List<String> precioPro = new ArrayList<String>();
    private String prec;
    
    public String getPrec() {
        return prec;
    }
    public void setPrec(String prod) {
        this.prec = prec;
    }
    
    public String addPrec(){
     precioPro.add(prec);
     prec="";
     return null;
    }

    public List<String> completePrec(String query) {  
        return precioPro;  
    }
    //-----------------------------------------------------------------------------------------------------------------------
    
    public beanProductos getVetas() {
        return product;
    }
 
    public void setVentas(beanProductos product) {
        this.product = product;
    }
    
    private static final ArrayList<beanProductos> orderList = new ArrayList<beanProductos>();
 
    public ArrayList<beanProductos> getOrderList() {
        return orderList;
    }
 
    public String addAction() {
        beanProductos dataCliente = new beanProductos(this.codigo, this.descripcion,this.categoria,this.subcategoria,this.pcompra,this.pventa,this.impuesto,this.unidad,this.cantidad, this.exmax, this.exmin);
        orderList.add(dataCliente);
        prod=this.descripcion;
        addProd();
        prec=this.pventa;
        addPrec();
        
     codigo="";
     descripcion="";
     categoria="";
     subcategoria="";
     pcompra="0";
     pventa="0";
     impuesto="";
     unidad=""; 
     cantidad="0";
     exmax="0";
     exmin="0";
        return null;
    }
    
    public void onEdit(RowEditEvent event) {  
        FacesMessage msg = new FacesMessage("Cliente Editado",((beanProductos) event.getObject()).getCodigo());  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
       
    public void onCancel(RowEditEvent event) {  
        FacesMessage msg = new FacesMessage("Cliente eliminado");   
        FacesContext.getCurrentInstance().addMessage(null, msg); 
        orderList.remove((beanProductos) event.getObject());
    }  
}